количество ресурсов хранить в переменных
при получении приказа постройки здания проверять достаточно ли ресурсов
если не достаточно то отдать триггерному юниту приказ стоп и вывести на экран сообщение "недостаточно ресурсов"
со всем остальным аналогично
awesomesk1ll, именно таблицы рекордов и окна таймера нет в игровом интерфейсе. думаю, что нужно при импорте сразу указать путь, а не в игровом интефейсе.
Именно их может и не быть, фон для подобных окон задается один общий для нескольких элементов. (окно чата F12, окно союзников F11, окно ожидания игрока, когда он лагает, окно когда соединение прервано например ещё). Аналогично и с рамкой. Более точнее вечером сориентировать смогу только.
Лови. Как я и писал выше, учти что меняется не только это окошко.
Попробуй конвертировать через war3 image extracror, а в фш сохрани картинку как 32 битную. Ну и разумеется разрешение 512х512
Когда будешь вставлять в карту, закинь картинку в мапу , а еще тебе понадобится LoadScreen.mds. В свойствах карты на загрузочный экран установишь LoadScreen.mdx, ну это я так, на всякий случай. Саму картинку нужно назвать FullScreen.blp
>>Но при нажатии кнопка обрабатывается неправильно, будто бы игнорируя 1 игрока и обрабатывается для 2 игрока (исходя из того что пишет [Дебаг] нажата кнопка №2, но может быть я ошибаюсь).
Мб где-то слетела бж функция GetConvertedPlayerID и изза этого цифорки поломались
Тык
function GetConvertedPlayerId takes player whichPlayer returns integer
return GetPlayerId(whichPlayer) + 1
endfunction
да какой то баг скорее всего, у кого то даже фаталы есть что когда запускаешь тест мапы и дерутся юниты - вылетает все (у меня такое же есть). А в обычном мили все норм
Каждый вопрос заслуживает отдельного обсуждения, а на все стало лень ответ печатать, когда начал.
Печатать реально долго, легче было реализовать примеры в карте:
Кроме последнего пункта, его нужно персонально рассматривать, так как игра не подразумевает использование для юнита двух списков. Например, можно наполнить список построек у юнита всеми зданиями, часть из которых блокировать при открытии одного списка и разблокировать при открытии второго, но это подходит, когда один рабочий. Можно сделать второй список из книги заклинаний, куда добавлены способности на основе игрушечных строений, чтобы было видно карту пути и всё такое, но там для них используется один приказ, то есть всегда одинаковое здание будет при нажатии на любую способность, а ещё нет стоимости золота и дерева, что тоже придётся как-то ваять триггерно. Можно перевоплощать юнита при смене списка в другого, но там тоже сложности, не помню точно какие, вроде бы связаны с расой, так как все строят по-разному.
С точкой сбора всё просто. Способность у игрока не заблокировать, потому нужно забрать её у всех зданий, которые есть на карте, либо будут построены.
Группа из максимум 9 юнитов работает немножко коряво, ранее мы с PT153 находили какой-то вариант, чтобы работало быстро, но лень пользоваться поиском. Вроде каждую 0.01 секунду проверялось количество выбранных юнитов, лишние удалялись из выбора.
Чтобы не было очереди, пришёл в голову лишь вариант с апгрейдом здания. Но у меня реализован просто пример для одного конкретного здания, а для нескольких абстрактных зданий нужно делать текстовым триггером, который будет для каждого здания запускать локальный таймер на нужное время и добавлять анимационный текстаг work. По отмене апгрейда, либо истечению таймера анимационный тег удаляется и создаётся воин, к которому привязывается соответствующий звук. Но есть и другие варианты, типа создавать внутри здания другое, которое реально будет производить юнитов, когда заказал апгрейд, там иная реализация. И не упомянул про затрачиваемые ресурсы. Потребуется забирать/возвращать часть ресурсов при отмене апгрейда.
На примере триггеров и фиолетовых строк в редакторе объектов смотри, как сделано улучшение Бугая в Дренорского бугая.
Конечно, мог бы сделать MUI триггер на GUI для отсутствия очереди, но это было бы громоздко и в техническом смысле уродливо. производящие здания заносились бы в массив, для которого будет массив таймеров, которые будут заноситься в виде событий на истечение таймера в другой триггер, а точнее будет несколько массивов таймеров, по максимальному числу тренируемых юнитов в любом производящем здании.
Урон настраивается через уровень способности, или как было сказано unit - damage target
команда для использования нестандартной способности берется от той способности, на основе которой ты её сделал, и если это цепь тралла - Unit - issue order with targetign a unit - orc - chain lighting
Есть другой способ скрыть ВСЕ кнопки.
Buttonpos=0,-11
не обязательно юзать текстовик, чтобы скрыть меню, можно попробовать в самих абилках "строительство" задать положение x,y - 'AHbu'/'AObu'/'AUbu'/'AEbu'/'AGbu'/'ANbu'
Пункт " убить боевую единицу" отвечает за то сможет ли урон от яда убить Юнита, если флаг не установлен то у Юнита останется 1-2 хп. Но яд не может его убить.
Разумеется не работают яд. Стрелы на маг иммунитет, ибо это активный автокаст.
Чтобы автокаст стрелы работали на маг. Имун нужно чтобы способность относилась к герою, требуемый для изучения уровень был выше 1. Вот и все.
Это отнимает у игрока красного контроль над его юнитами. Это почти нейтральный. Быть может это просто невозможно сделать таким способом. Так как переключаться можно только между ПОДКОНТРОЛЬНЫМИ юнитами. Есть идея на случай если тебе нужен только 1 юнит с 12 способностями, хотя думаю нету смысла объяснять.
Группы юнитов + хэш или структуры. При касте спелла берешь кастера, берешь его ID, проверяешь не записана ли группа в какой-либо из ячеек. Если нет - создаешь группу и записываешь её в ячейку. При смерти юнита делаешь проверку не записана ли по его ID группа юнитов - если записана - удаляешь его и проверяешь количество юнитов в группе и если оно равно 0 - удаляешь группу. Естественно хэш тоже чистишь всюду где нужно.
Это звучит как "Сделайте мне пожалуйста систему формаций". Чтобы научить тебя как это сделать придётся потратить несколько десятков часов. И тут 2 варианта: либо ты будешь читать статьи и выучишь всё сам, либо обращайся к отдельным пользователям и проси о приватных, платных, уроках в частном порядке.
Вопрос вообще ни о чём. То, о чём ты спрашиваешь делается за 20-30 минут + несколько часов на всякие плюшки и дебаг (в худшем случае).
Берем основную модель, возможно, вообще без мяса, только с гусеницами, но с кучей точек крепления. Также берем кучу моделей-аттачметов, представляющих собой эти самые пушки, корпуса и все прочее. При выборе характеристик модели через диалог или интерфейс соответственно создаем на основной модели эффекты-аттачменты, будет собрана техника. Такие штуки, как двигатель и прочие невидные извне элементы будут скорее входить в математическую модель юнита, но это также можно запилить. Название танка - сразу не скажу, есть ли триггер на смену, но на таблице рекордов можно отобразить что угодно.
2.Тоже можно.
Создаем погодный в определенной местности и делаем два триггера для контроля входа-выхода юнитов из нее. На искомых юнитов применяем нужные способности - и все готово.
Здесь чуть сложнее: нужно постоянно проверять тип местности под юнитом, но тоже можно. Проверка на ограждения тоже может бить сделана.
4.Это уже интереснее. Видел раньше подобное в играх. При каждой атаке юнита случайным образом наносим или не наносим доп. урон, эффект горения, кидаем спелл на цель в зависимости от теоретического места попадания атаки.
5.И это можно. Но нужно писать нестандартную систему Альянса. Но через триггеры и JASS все можно...
Продажа техники - лучше через способность, что бы кидать ее на понравившегося юнита, не стоит покупать кота в мешке. Стоимость должна зависеть от технического уровня юнита, его текущего состояния (мертвый танк попадет вам бесплатно, сами чините!), если он был модернизован дополнительно, то это тоже входит в стоимость. Разрешение на продажу делаем аналогично.
Это легко через Custom Value и переменние.
Как ты понял, все что ты предложил создать можно, но на это нужно потрать хороший кусок времени. Остается пожелать тебе удачи над созданием проекта - мне идея уже нравится.
Файл - экспорт всего РО, открываешь свою карту Файл - импорт всего РО. Если нужно слияние, то может помочь Grimoire, что в комплекте с JNGP идёт, но я им не пользовался.
Как именно может помочь? Сейчас скачал JNGP, и толком не пойму как это дело провернуть, чтобы не было замены объектов которые я создавал теми что импортирую.
Я наконец-то смог найти то что нужно, благодаря помощи нескольких чуловеков.)
никак
событие привязывается к юниту а не к переменной
переменная лишь способ хранения данных
делай общее событие (юнит умирает)
а в условии проверяй что умерший юнит == твоя переменная
Может, поставить нулевую скорость в редакторе объектов?
Или не нулевую, но триггерно каждые 0.03 с. задавать ему координаты, на которых он изначально поставлен.
Мне в итоге неоткуда брать этот h - ключ, по которому я всё записал...
Это будет юнит, которого атаковали т.е. GetTriggerUnit(). Вся задача шаринга между несколькими триггерами в том, чтобы определить какие данные между этими триггерами у нас уже есть общие и отталкиваясь от них записать другие данные в хеш. В данном случае мы вешаем данные на GetSpellAbilityUnit() и загружаем по GetTriggerUnit(). Самого кастера, как я понимаю, здесь записывать никуда не нужно.
А некоторым комментаторам советую постыдиться, редкий случай, когда человек сам что-то пытается понять и пробует что-то делать, а вам лишь бы эго потешить.
Видимо ты поменял метку "видимость ресурса". А у участника нет права редактировать скрытые ресурсы. Вообщем дай ссылку гляну.
А так конечно можно. Если пользователь создал ресурс и он остается видимым и не перекрывается правами то права должны быть.
Увы но нет... Главная особенность той карты что все герои открываются по мере накопления очков за игру на карте, они не открыты сразу и не походу первой катки открываются а лишь с накоплением общих баллов. Я весь мозг сломал уже, в попытках вспомнить. Эх...
каждый тик наносить юнит если являет 100% снимаем ему 0.4 хп вы так не увидите его изменение хп и будет работать скил. хотя это мое воображение =) Не тестил!
создать.
направить на 128 точек наверх(90)
сделать неперманентным
текст удалится через 3 секунды
текст затухнет до 100% прозрачности через 3 секунды
Вот чёрт. не успел приплюснуть к посту.
Есть системы, для автоматического удаления локейшенов и групп прям на гуи в 126. Так же можно подгрузить автоочистуюку на луа, для последнего патча.
Пример автоочистки на гуи есть вот тут
Тип передвижения на Нет ставишь?
Хотя, если здание, значит прямоугольная карта путей по игровой сетке, а не любое местоположение. Тип передвижения в этом случае не важен.
Я думаю кроме нас тут уже больше никто не напишет поэтому я закрою вопрос, спасибо за внимание и ответы.
Думал сделать двойную атаку с определенным шансом, типа герой делает сразу 2 выстрела вместо 1. Потом на ум пришла другая идея: когда герой прокачивает свою пассивную способность, около него появляется дамми юнит с атакой. И он должен атаковать вражеского юнита, когда этого делает и сам герой. Тоесть он не то что появляется и автоатачит ближайших врагов, а атакует однократно
Если бы хотел, сделал бы урон дамми больше с каждым уровнем, но я не умею такое провернуть, а вы не обязаны делать все за меня. Поэтому прошу лишь подсказок
Вот тебе костыль на основе техники. Даешь ауру, которая изначально не имеет целей, потом при изучении техники прикручиваешь грейд ауры. Триггеры ловят баффы аур, и создаешь даммиков, стирая/добавляя старых.
И в чём смысл делать глобалку, а не просто писать тогда уж сразу GetFilterUnit( )
Я сдеал локалку, чтобы вместо GetFilterUnit( ) писать то, что мне нужно, в данном случае CLONE quq_CCCP:
Потом клонов от способностей ищут не так,
Да так и я их могу найти
Точнее не совсем так, я их искал через Юнит входит в Область ( Игровая зона )
Но искать их в другом триггере и сдругим событием мне нафиг не нужно.
Мне нужно найти иллюзии сразу в триггере со способностью, чтобы потом не было геморроя
========================
И ещё раз повторюсь, что при повторном использовании способности, 2 прошлые иллюзии (да и вообще в принципе если рядом с гером будут другое любое ко-во иллюзий) перемещаются к противнику. Но две новосозданные остаются на месте.
Так же повторюсь, что когда проверка была IsUnitIllusion == false, то иллюзии определяло как не иллюзии!
Все кто пытались помочь, похоже проигнорировали это замечание...
========================
Мой вывод таков: Иллюзиям, призванным через стандартную Способность (Предмет: Иллюзии) присваивается статус иллюзий слегка позже, чем происходит проверка.
С другой стороны, скорее всего это может и можно как-то обойти, ведь есть карты примеры, где подобное работает нужным образом.
О том, как устроены чёртовы способности близов стоит только догадываться =\
К счастью Способность (Предмет: Иллюзии) не наносит 0.00 урона, и за это близам огромное спасибо (что у меня в очередной раз не бомбануло)
А вообще, проще по-моему сделать свою игру, чем нормальную карту в варкрафте -_-
Лол. Вопрос можно закрывать. В событии "юнит умирает" я очень редко проверял тип юнита на дамми(а их у меня много). Спасибо отладка, тебя создал господь.
Открыть редактор реестра (Windows + R, ввести regedit).
Перейти по пути HKEY_CURRENT_USER\SOFTWARE\Blizzard Entertainment\WorldEdit.
Найти строку Tool Windows и удалить ее.
Но проблема повторится, если зайти в редактор 1.32. При ее возникновении нужно заново удалить строку "Tool Windows".
Попробовал через MPQ, пишет, "Невозможно открыть. Была сделана попытка загрузить программу, имеющую неверный формат".
Проблему решил. Спасибо. Помогла программа Power Data Recovery.
Бесплатное ПО для восстановления удаленных данных, потерянных в результате различных проблем или ошибочных действий.
На карты оригинальной кампании не знаю почему переход не работает, но переход на мои карты, добавленные в mpq заработал.В опциях добавления файла в mpqeditor, нужно было encrypted убрать.Не знаю, что это значит, но раньше из-за этого, видать карты не читались.Зря тему,по ходу, создал.Два дня просто мучался)В любом случае спасибо за отзывчивость)
нестандартных единиц с нестандартными моделями
я через редактор кампаний нажимал на одну миссию правой кнопкой редактировать
потом я сохранял карту отдельно
когда варике открываю карту то все юниты теряют свои модели на стандартные
как мне сделать чтобы модели и все прочее сохранялось
да какой то баг скорее всего, у кого то даже фаталы есть что когда запускаешь тест мапы и дерутся юниты - вылетает все (у меня такое же есть). А в обычном мили все норм
А может ли быть дело не в триггерах, а к примеру в моделях? Кто нибудь когда нибудь сталкивался с фризами из-за используемых моделей?
Это звучит глупа... Фризы из-за модели...
Тем не менее, попробовал удалить весь импорт из карты (около 6 МБ, 157 файлов mdx). Лаги и фризы прекратились. Сейчас дихотомией пробую найти проблемную модель. Хотя может проблемная модель и не одна, или например может быть накапливаемый эффект, который так не найти.
Сильно уменьшил число лагов, избавившись от двух моделей. Эти модели ещё и сами по себе вели себя странно. В частности, фундамент из модели Домика произвольно прикреплялся к анимациям других моделей. А модель Академии иногда меняла свой видимый масштаб без причины.
Только тебе нужен нет Get а Set
Эти функции есть в любом мемхаке, пользоваться примерно вот так:
call SetUnitBAT1(udg_unit,0.2)
Где 0.2, значение скорости, тем оно ниже, тем выше скорость атаки, но не рекомендую использовать 0
И разумеется мемхак должен быть проинициализирован, просто так функция не заработает и ничего не даст
Уже давно всё придумали. Вот ресурс. Необходимо добавить только детект для версии 1.32. ScorpioT1000:
там 24 игрока, но константу не обновили
Всё там обновили, теперь у этой константы не hardcoded значение, а значение из нативки. Для карт, созданных в WE до 1.29, нативка возвращает 12, после - 24.
На Reforged переехали преимущественно игроки обычного режима сражения. Если ты делаешь такого сорта карты, возможно, стоит.
Если ты делаешь нестандартные карты на GUI триггерах, то в Reforged редакторе нет ничего, что есть в JNGP. В том числе, в GUI нет доступа к новым функциям изменения интерфейса. Поэтому, GUIшнику, проще работать на 1.26 в JNGP, Reforged сделанные там карты спокойно переварит.
Если ты пишешь скрипты и легко осваиваешь скриптовые языки, то переходи. Граждане выше - хороший пример. Уже давно писаются от радости.
Если смотреть на вещи чисто с человеческой точки зрения, то забросил ты редактор потому что он тебе, наверно, надоел и переход на новый патч этого не изменит. Не важно, Reforged или 1.26, через пару часов или пару недель тебе оно снова опостылеет и ты это дело снова забросишь.
Ну у мастера клинка способность то посложнее...
Вот пример:
Для начала нам нужно создать иллюзии героя, а потом скрыть всех их, так же сделав визуальный эффект (если что то зеленые тени, это снаряды).
» WarCraft 3 / Таблица рекордов
» WarCraft 3 / Непонятная проблема
» WarCraft 3 / Баг на карте warcraft 3 классика
» WarCraft 3 / Вопрос по триггерам Warcraft 3
» WarCraft 3 / Создание юнитов через здание
» WarCraft 3 / Утечки с модификатором видимости
» WarCraft 3 / Эффект яда
» WarCraft 3 / Что не так с отрядом
» WarCraft 3 / Сломался размер карты.
» WarCraft 3 / Вопросов много...
» WarCraft 3 / Как обратиться к юниту?
» Администрация XGM / Пред просмотр
» Администрация XGM / Участники в проектах
» WarCraft 3 / Не могу найти в WarCraft 3 Reforged файл WorldEditStrings.txt
» WarCraft 3 / Каннибализм
» WarCraft 3 / Че за функции ??
» WarCraft 3 / Утечки
» WarCraft 3 / Заголовок
» WarCraft 3 / Не всегда работает проверка точек пересечения
» WarCraft 3 / Карта из кампании
» WarCraft 3 / Не запускается Warcraft 3 Reforged
» WarCraft 3 / Warcraft 1.26
» WarCraft 3 / скрыть/показать юнита